$values = "Start", "MoveNext", "NotEvaluated","Reset","End"
$stopInfinite = $false
switch ($values) { 
    "MoveNext"{
        "`tMoveNext"
        $switch.MoveNext() | Out-Null
        "`tAfter MoveNext: $($switch.Current)"
    }
    # This case is never evaluated.
    "NotEvaluated"{
        "`tAfterMoveNext: $($switch.Current)"
    }
    "Reset"{
        if(!$stopInfinite){
            "`tReset"
            $switch.Reset()
            $stopInfinite = $true
        }
    }
    default{
        "Default (Current): $($switch.Current)"
    }
}